package com.gt.quality.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gt.quality.base.BaseCommonService;
import com.gt.quality.system.entity.SysRole;
import com.gt.quality.base.pojo.BaseLimitRequest;

import java.util.List;

/**
 * 角色信息表(SysRole)表服务接口
 *
 * @author makejava
 * @since 2026-11-25 16:30:08
 */
public interface SysRoleService extends BaseCommonService<SysRole> {

    /**
     * Description:  分页查询
     *
     * @param limitRequest 分页查询参数
     * @author: makeJava
     * @date: 2026-11-25 16:30:08
     * @return:com.baomidou.mybatisplus.core.metadata.IPage
     */
    @Override
    IPage<SysRole> queryLimitPage(BaseLimitRequest<SysRole> limitRequest);


    /**
     * Description:  批量新增
     *
     * @param entityList list
     * @author: makeJava
     * @date: 2026-11-25 16:30:08
     * @return:Integer
     */
    @Override
    Integer saveBatchByEasyBaseMapper(List<SysRole> entityList);

    /**
     * 查询用户的角色列表
     *
     * @param userId userId
     * @return List
     */
    List<SysRole> selectByUserId(Long userId);

    /**
     * 校验角色是否由用户在使用
     * @param roleIds roleId
     */
    void checkUserBindRole(List<Long> roleIds);

    /**
     * 批量删除操作
     * @param idList idList
     * @return boolean
     */
    boolean warnDeleteOperation(List<Long> idList);
}


